Disk drive modifying estimated seek times for a rotational position optimization algorithm based on change in estimated seek time parameter

ABSTRACT

A disk drive is disclosed comprising a disk, a head, and a voice coil motor (VCM) for actuating the head over the disk. The disk drive executes a rotational position optimization (RPO) algorithm to select a next command to execute relative to an estimated seek time computed for each command in a command queue. A seek time parameter is estimated and a seek time delta computed in response to the estimated seek time parameter. The seek time delta is added to a nominal estimated seek time to generate a modified estimated seek time for each command in the command queue, thereby optimizing the RPO algorithm.

This application is related to co-pending patent application Ser. No.10/676,578 filed on Sep. 30, 2003, the disclosure-of which isincorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to disk drives. In particular, the presentinvention relates to a disk drive that modifies estimated seek times fora rotational position optimization (RPO) algorithm based on change inestimated seek time parameter.

2. Description of the Prior Art

A disk drive may employ an RPO algorithm in order to execute commands inan order which minimizes the seek latency of the head as well as therotational latency of the disk. After executing a current command, theRPO algorithm will typically evaluate various parameters to select thenext command that minimizes the access time with respect to the radialand circumferential location of the head. The seek latency of the head(the time required to move the head from a current track to a new track)has typically been determined by evaluating a small number of diskdrives to establish nominal seek profiles for a family of disk drives.Each individual disk drive is then manufactured with the nominal seekprofiles which may lead to sub-optimal performance since the nominalseek profiles are selected to account for worst case conditions. U.S.patent application Ser. No. 10/060,881 Pub. No. US 2002/0131195discloses a method for calibrating the seek profiles for each individualdisk drive in a family of disk drives during manufacturing, as well asupdating the seek profiles “in the field” to account for changes in thedisk drive that occur over time.

The method disclosed in the '881 patent application includes amanufacturing process for each individual disk drive wherein the seektime of the head to travel a distance D is measured over multiple seeksand statistically averaged to establish an initial seek profile. Aproblem with this technique, however, is it increases the manufacturingtime significantly due to the multiple seeks performed for each seekdistance D, as well as the numerous seek distances that must becalibrated. While in the field, the '881 patent application updates theseek profiles for each individual disk drive by statistically averagingthe actual seek times with the current seek profiles. A problem withthis technique, however, is the statistical averaging algorithm musthave a very slow response in order to filter noise. This means the seekprofiles will be updated slowly in response to changes in the disk driveleading to sub-optimal tracking of faster deviations.

There is, therefore, a need to customize the RPO algorithm for eachindividual disk drive without significantly increasing the manufacturingtime. There is also a need to modify the RPO algorithm to quickly trackchanges in the operating characteristics of each individual disk drivewhile in the field.

SUMMARY OF THE INVENTION

The present invention may be regarded as a disk drive comprising a diskhaving a plurality of tracks, a head, a voice coil motor (VCM) foractuating the head over the disk, a command queue for storing aplurality of disk access commands, and a disk controller. The diskcontroller executes a rotational position optimization (RPO) algorithmto select a disk access command from the command queue as the nextcommand to execute relative to an estimated seek time required to seekthe head to a target track for each command in the command queue. Thedisk controller estimates a seek time, parameter, and modifies theestimated seek time for each command in the command queue by computing aseek time delta in response to the estimated seek time parameter. Thedisk controller adds the seek time delta to a nominal estimated seektime to generate the modified estimated seek time, and then executes theRPO algorithm using the modified estimated seek times.

In one embodiment, the estimated seek time parameter comprises anestimated motor capability of the VCM. In one embodiment, the diskcontroller modifies the estimated seek time for each command in thecommand queue according to:est_st=est_st₀ +k*D(st(L))/D(a)*dawhere:

-   -   est_st is the modified estimated seek time;    -   est_st₀ is the nominal estimated seek time;    -   st(L) is a seek time as a function of the seek distance L;    -   a is the estimated motor capability;    -   a₀ is a nominal motor capability;    -   da is the difference between a and a₀; and    -   k is a discounting scalar.

In one embodiment, Lamin is a minimum seek distance that uses full motorcapability of the VCM, and Lvmin is a minimum seek distance that reachesa maximum allowed constant velocity for the VCM. For seek distancesLamin<L<Lvmin the sensitivity measurement D(st(L))/D(a) comprises−0.5*st/a, and for seek distances L>=Lvmin the sensitivity measurementD(st(L))/D(a) comprises −0.5*(st(Lvmin))/a.

In one embodiment, the estimated motor capability is determined bymeasuring a velocity of the VCM relative to a current flowing throughthe VCM.

In another embodiment, the estimated seek time comprises an estimatedsettle time. During the estimated settle time, the disk controllerprocesses the embedded servo sectors to generate a position error signal(PES) representing a position error between the head and the targettrack. The estimated seek time parameter comprises an estimated trackmis-registration (TMR) value representing a probability that a magnitudeof the PES will exceed a predetermined threshold, and the estimatedsettle time is computed in response to the estimated TMR value. In oneembodiment, the disk controller modifies the estimated seek time foreach command in the command queue according to:est_settle=est_settle₀ +k*D(settle(TMR))/D(TMR)*dTMRwhere:

-   -   est_settle is the modified estimated settle time;    -   est_settle₀ is a nominal estimated settle time;    -   settle(TMR) is a settle time as a function of the TMR;    -   TMR is the estimated track mis-registration (TMR);    -   TMR₀ is a nominal TMR;    -   dTMR is the difference between TMR and TMR₀; and    -   k is a discounting scalar.

In one embodiment, the sensitivity measurement D(settle(TMR))/D(TMR)comprises:k1/(ON_TRACK_LIMIT−TMR)where k1 is a predetermined gain value and ON_TRACK_LIMIT is a thresholdwherein the settle time ends if the PES remains within theON_TRACK_LIMIT for a predetermined interval.

In one embodiment, the nominal estimated seek time is determinedstatistically over a subset of disk drives, and in an alternativeembodiment, the nominal estimated seek time is measured duringmanufacture of the disk drive.

The present invention may also be regarded as a method of executing arotational position optimization (RPO) algorithm in a disk drive forselecting a disk access command from a command queue as the next commandto execute relative to an estimated seek time required to seek a head toa target track of a disk for each command in the command queue. A voicecoil motor (VCM) within the disk drive actuates the head over the disk.A seek time parameter is estimated and the estimated seek time for eachcommand in the command queue is modified by computing a seek time deltain response to the estimated seek time parameter. The seek time delta isadded to a nominal seek time to generate the modified estimated seektime, and the RPO algorithm is executed using the modified estimatedseek times.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A shows a disk drive according to an embodiment of the presentinvention including a command queue for staging read/write commandsreceived from a host computer, and a disk controller for selecting thenext command to execute from the command queue according to an RPOalgorithm.

FIG. 1B is a flow chart executed by the disk controller according to anembodiment of the present invention wherein a seek time parameter isestimated and used to modify the estimated seek times for the commandsin the command queue in order to optimize the RPO algorithm.

FIG. 2 illustrates two different deceleration profiles corresponding totwo different motor capability values for the VCM.

FIG. 3 illustrates how modifying the estimated seek times for eachcommand in the command queue relative to the estimated motor capabilityoptimizes the RPO algorithm.

FIGS. 4A and 4B illustrate the velocity and acceleration for short seekdistances, wherein changes in the estimated motor capability haveessentially no affect on the seek time.

FIGS. 5A and 5B illustrate the velocity and acceleration for longer seekdistances, wherein changes in the estimated motor capability have asignificant affect on the seek time.

FIGS. 6A and 6B illustrate the velocity and acceleration for very longseek distances, wherein changes in the estimated motor capability affectthe seek time only during the acceleration and deceleration phases.

FIG. 7 shows an embodiment of the present invention wherein theestimated seek time comprises an estimated settle time associated withthe head settling on the target track which is a function of trackmis-registration (TMR).

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1A shows a disk drive according to an embodiment of the presentinvention comprising a disk 2 having a plurality of tracks, a head 4, avoice coil motor (VCM) 6 for actuating the head 4 over the disk 2, acommand queue 8 for storing a plurality of disk access commands, and adisk controller 10. The disk controller 10 executes a rotationalposition optimization (RPO) algorithm to select a disk access commandfrom the command queue 8 as the next command to execute relative to anestimated seek time required to seek the head 4 to a target track foreach command in the command queue 8. As shown in the flow diagram ofFIG. 1B, at step 12 the disk controller 10 estimates a seek timeparameter, and at step 14 modifies the estimated seek time for eachcommand in the command queue 8 by computing a seek time delta inresponse to the estimated seek time parameter. The seek time delta isadded to a nominal estimated seek time to generate the modifiedestimated seek time. At step 16 the disk controller 10 then executes theRPO algorithm using the modified estimated seek times.

The disk 2 in FIG. 1A comprises a plurality of concentric, radiallyspaced tracks having embedded servo sectors recorded in servo wedges foruse in positioning the head 4 over a target track. A spindle motor 16rotates the disk 2 about a center axis while the head 4 accesses thetarget track during read and write operations. A VCM driver 18 controlsthe current applied to the VCM 6, and in one embodiment, the VCM driver18 comprises a plurality of field effect transistors (FETs) configuredinto a conventional H-bridge circuit. The FETs are pulse width modulated(PWM) to control the amount of current flowing through the voice coil ofthe VCM 6, wherein a control signal supplied by the disk controller 10configures a duty cycle of the PWM.

In one embodiment, the disk controller 10 comprises a read channel fordemodulating the read signal emanating from the head 4 during readoperations, and a servo controller for generating control signalsapplied to the VCM driver 18. The read channel and servo controller maybe implemented as separate, integrated circuits, or they may be combinedwith other disk controller circuitry into a “system on a chip”. In oneembodiment, the disk controller 10 comprises a microprocessor forperforming some or all of the read channel and/or servo controloperations.

During a seek operation the VCM driver 18 is controlled toaccelerate/decelerate the head 4 toward a target track. Duringacceleration, a maximum possible forward current is applied to the VCM 6so that the VCM 6 accelerates as fast as possible, and duringdeceleration the velocity of the VCM 6 is controlled to track apredetermined deceleration profile until the head reaches the targettrack. The slope of the deceleration profile determines the maximum seektime. A steep deceleration profile means the VCM 6 will acceleratelonger and then decelerate faster leading to a shorter seek time.However, the VCM 6 will be able to track a steep deceleration profileonly if there is sufficient motor capability which is a function ofvarious operating conditions, such as the motor torque constant Kt, themotor resistance, and the supply voltage. These operating conditions canvary between disk drives, as well as with environmental conditions suchas the ambient temperature. Therefore the seek time parameter isestimated and then an optimal deceleration profile is selected for eachseek. This is illustrated in FIG. 2 which shows two velocity profilesduring a seek of the VCM 6 wherein one of two deceleration profiles 20Aand 20B is selected corresponding to two values for the seek timeparameter. If the first deceleration profile 20A is selected, the VCM 6does not accelerate as long, has a lower maximum velocity, anddecelerates over a longer distance. Therefore the seek time associatedwith deceleration profile 20A will be longer than the seek timeassociated with deceleration profile 20B.

In one embodiment, the estimated seek time parameter comprises anestimated motor capability of the VCM 6. Any suitable technique may beemployed for estimating the motor capability of the VCM 6, including thetechniques disclosed in U.S. Pat. No. 5,793,558 and U.S. Pat. No.5,119,250, the disclosures of which are incorporated herein byreference. In one embodiment, the estimated motor capability of the VCM6 is determined by measuring a velocity of the VCM 6 relative to acurrent flowing through the VCM 6 during an acceleration phase ordeceleration phase of the VCM 6 (since the deceleration strength isrelated to the acceleration strength).

In one embodiment, the motor capability is estimated by measuring aratio of a difference in estimated velocity to a difference in anexpected velocity over a predetermined time interval during theacceleration phase. The difference in the estimated velocity isdetermined from the track crossing information detected in the embeddedservo sectors, and the difference in the expected velocity is determinedby integrating the current flowing through the VCM 6. In one embodiment,the actual current flowing through the VCM 6 is measured using a currentdetector (e.g., a resistor in series with the voice coil), and inanother embodiment, the current flowing through the VCM 6 is estimatedby applying a near-saturated current to the VCM 6. In this manner thecurrent flowing through the VCM 6 is estimated as the commanded current.The near-saturated current is determined relative to nominal VCMparameters taking into account various factors such as the power supplyvoltage and the back EMT voltage that builds across the voice coil asthe VCM 6 accelerates. In one embodiment, the estimated motor capabilityis computed according to the following equation:$\frac{{V(k)} - {V\left( k_{0} \right)}}{{\sum\limits_{i = k_{0}}^{{\overset{\_}{\square}}_{1}}\quad{U(i)}} + {0.5\left\lbrack {{U\left( {k_{0} - 1} \right)} - {U\left( {k - 1} \right)}} \right\rbrack}}$where:

-   V(k₀) is the estimated velocity of the VCM 6 at the beginning of the    predetermined time interval;-   V(k) is the estimated velocity of the VCM 6 at the end of the    predetermined time interval;-   ΣU(i) is the commanded current integrated over the predetermined    time interval; and-   0.5[U(k0−1)−U(k−1)] is a term that compensates for the delay between    the commanded current and actual current flowing through the VCM 6.

The motor capability may be estimated during a calibration mode, orduring the acceleration phase of actual seeks during normal operation.In either case, evaluating the velocity and current during theacceleration phase of the VCM 6 provides a fast and accurate estimate ofthe motor capability used to adjust the estimated seek times for eachindividual disk drive as compared to measuring the actual seek time overmultiple seeks for numerous seek distances.

In one embodiment, the disk controller estimates the motor capability ofthe VCM by applying an acceleration current to the VCM during theacceleration phase, wherein the acceleration current is significantlyless than the saturation current. The motor capability is then estimatedas the distance d the VCM travels over a predetermined time interval t(i.e., d=at² and a=2d/t² where Kt is proportional to a/I and I is theacceleration current applied to the VCM). This embodiment may be used toestablish an initial motor capability, such as during manufacturing ofthe disk drive, wherein the initial motor capability may then be updatedwhile in the field using an over-saturated or near-saturatedacceleration current.

Once the motor capability has been estimated, it can be used to modifythe RPO algorithm for selecting the next command to execute from thecommand queue 8. This is illustrated in FIG. 3 which shows a currentcommand being executed and two pending commands COMMAND 1 and COMMAND 2.The RPO algorithm computes an access time for the pending commands inthe command queue 8 and selects the command that, minimizes the accesstime in terms of seek latency and rotational latency. The seek latencyis determined by the deceleration profile selected which is determinedfrom the motor capability. For example, if the motor capabilitydecreases it will take six servo wedges of latency to seek the head 4from the end of the current command (identified by a referencecylinder/head/wedge or REF_CHW) to the target track comprising COMMAND2. However, six servo wedges of latency means that the beginning ofCOMMAND 2 will be missed requiring a revolution to reposition the head 4to the beginning of COMMAND 2. Therefore the RPO algorithm will selectCOMMAND 1 as the next command to execute which requires four servowedges of seek latency and three servo wedges of rotational latency. Ifthe motor capability increases (e.g., due to a temperature change), amore aggressive deceleration profile will be selected so that only fourservo wedges of latency are required to seek the head 4 from the end ofthe current command to the target track comprising COMMAND 2. Thereforethe RPO algorithm selects COMMAND 2 as the next command to executerather than COMMAND 1. From this example it can be seen that the diskcontroller 10 decreases the estimated seek time for each command in thecommand queue 8 if the estimated motor capability increases, and thedisk controller 10 increases the estimated seek time for each command inthe command queue 8 if the estimated motor capability decreases.

The impact of motor capability on seek time varies with the seekdistance. For very short seek distances shown in FIG. 4A, the full motorcapability is not needed (acceleration/deceleration does not reach itspeak value as shown in FIG. 4B) therefore the seek time is not affected.For longer seek distances shown in FIG. 5A that require full motorcapability (acceleration/deceleration reaches peak value as shown inFIG. 5B), the seek time will change inversely with the motor capability.For even longer seek distances shown in FIG. 6A, the VCM 6 may reach amaximum allowed velocity during which the seek time is not affected bythe motor capability (acceleration/deceleration is zero as shown in FIG.6B). That is, the slope of the deceleration profile will have lessaffect on the seek time if the VCM 6 travels' in a constant, maximumvelocity over a significant part of the seek. Therefore, in oneembodiment the disk controller 10 adjusts the estimated seek time foreach command in the command queue 8 in response to the estimated motorcapability and a seek distance for each command in the command queue. Asthe seek distance changes, the estimated seek times are modified(increased or decreased) accordingly in response to the estimated motorcapability.

In one embodiment, a seek time sensitivity with respect to the estimatedmotor capability is computed for a particular seek distance L by takingthe derivative of seek time st with respect to the estimated motorcapability a, or D(st)/D(a). The estimated seek time est_st is thencomputed in real time based on the estimated motor capability accordingto:est_st=est st₀ +k*D(st(L))/D(a)*da, da a−a ₀where:

-   st(L) is the seek time as a function of seek distance L;-   est_st₀ is a nominal estimated seek time, which in one embodiment is    determined statistically over a subset of disk drives or by actual    measurement during manufacturing;-   a is the estimated motor capability;-   a₀ is a nominal motor capability;-   da is the change in motor capability (a−a₀); and-   k is a discounting scalar between 0 and 1 which prevents over    compensation due to inadequacy of the linear sensitivity model.

In one embodiment, the seek time equation st(L) is based on a simplifiedseek time model using bang-bang seek profile which is a good estimatefor long seek lengths that use full motor capability. In this case theseek time can be computed according to equations d=a*t² during theacceleration and deceleration part of the seek (where a isacceleration/deceleration), and d=constV*t during a constant velocitypart of the seek (where constV is the constant velocity). Rearrangingthe equations to compute the seek time during acceleration anddeceleration:st_(acc)=(2d _(acc) /a)^(1/2) and st_(dec=()2d _(dec) /a)^(1/2)and rearranging the equations to compute the seek time during constantvelocity:st_(constV)=(L−(d _(acc) +d _(dec)))/constVwhere L is the total seek distance and the total seek time st is thesummation of st_(acc), St_(dec), and st_(constV). The accelerationvariable a is proportional to the motor capability estimated by the diskcontroller 10.

Let Lamin be the minimum seek distance that uses full motor capability,and let Lvmin be the minimum seek distance that reaches the maximumallowed constant velocity. For seek distances Lamin<L <Lvmin the seektime st can be computed according to the above equations as:st=2*(L/a)^(1/2)For seek distances L>=Lvmin the seek time st can be computed accordingto the above equations as:st2*(Lvmin/a)^(1/2)+(L−Lvmin)/constVThe sensitivity D(st)/D(a) is then computed for seek distancesLamin<L<Lvmin:D(st)/D(a)=2*(−0.5*L ^(1/2) *a ^(−3/2))=−0.5*(2*(L/a)^(1/2)/a)=−0.5*st/asimilarly for seek distances L>=Lvmin:D(st)/D(a)=−0.5*(st(Lvmin))/aand for seek distances L<Lmin:D(st)/D(a)=0

In an alternative embodiment, the seek time sensitivity D(st)/D(a) ismeasured under nominal operation conditions by measuring the seek timefor multiple seek distances over the entire seek range. The motorcapability is then adjusted from a nominal value by a predetermineddelta and the seek time re-measured. The motor capability adjustment maybe performed for a number of different deltas, and the seek timere-measured for each adjustment. The seek time sensitivity (as functionof seek distance L) is then computed from the test data. In yet anotherembodiment, a mathematical model (such as piece-wise polynomial model)is used to approximate the seek time sensitivity which is thenimplemented in firmware.

In another embodiment, the estimated seek time comprises an estimatedsettle time. During the estimated settle time, the disk controller 10processes the embedded servo sectors to generate a position error signal(PES) representing a position error between the head and the targettrack. As illustrated in FIG. 7, the head 4 will overshoot and theneventually settle on the target track. The settle time is measured asthe time interval starting when the PES falls below a TRACKING_LIMIT(wherein the servo controller switches from seeking to tracking) andending when the PES remains within an ON_TRACK_LIMIT (OTL) for apredetermined interval. A TMR value representing a probability that themagnitude of the PES will exceed a predetermined threshold can beestimated by evaluating the PES during tracking operations. The TMR willvary depending on various operating conditions, such as external,physical vibrations. The settle time can then be estimated according tothe following equation:settle=−k 1*ln(k 2*(OTL−TMR)wherein k1 and k2 are predetermined gain values. In one embodiment, thedisk controller 10 modifies the estimated settle time for each commandin the command queue 8 according to:est_settle=est_settle₀ +k*D(settle(TMR))/D(TMR)*dTMR, dTMR=TMR−TMR ₀where:

-   -   est_settle is the modified estimated settle time;    -   est_settle₀ is a nominal estimated settle time, which in one        embodiment is determined    -   statistically over a subset of disk drives or by actual        measurement during manufacturing;    -   settle(TMR) is a settle time as a function of the TMR;    -   TMR is the estimated track mis-registration (TMR);    -   TMR₀ is a nominal TMR;    -   dTMR is the difference between TMR and TMR₀; and    -   k is a discounting scalar.

In one embodiment, the sensitivity measurement D(settle(TMR))/D(TMR)comprises:k1/(OTL−TMR)which states that the estimated settle time will increase as the TMRapproaches the ON_TRACK_LIMIT.

1. A disk drive comprising: (a) a disk comprising a plurality of tracks,wherein each track comprises a plurality of data sectors and a pluralityof embedded servo sectors; (b) a head; (c) a voice coil motor (VCM) foractuating the head over the disk; (d) a command queue for storing aplurality of disk access commands; and (e) a disk controller forexecuting a rotational position optimization (RPO) algorithm to select adisk access command from the command queue as the next command toexecute relative to an estimated seek time required to seek the head toa target track for each command in the command queue, wherein: the diskcontroller estimates a seek time parameter; the disk controller modifiesthe estimated seek time for each command in the command queue by:computing a seek time delta in response to the estimated seek timeparameter; and adding the seek time delta to a nominal estimated seektime; and the disk controller executes the RPO algorithm using themodified estimated seek times.
 2. The disk drive as recited in claim 1,wherein the estimated seek time parameter comprises an estimated motorcapability of the VCM.
 3. The disk drive as recited in claim 2, whereinthe disk controller modifies the estimated seek time for each command inthe command queue according to:est_st=est_st₀ +k*D(st(L))/D(a)*da where: est_st is the modifiedestimated seek time; est_st₀ is the nominal estimated seek time; L is aseek distance; st(L) is a seek time as a function of the seek distanceL; a is the estimated motor capability; a₀ is a nominal motorcapability; da is the difference between a and a₀; and k is adiscounting scalar.
 4. The disk drive as recited in claim 3, wherein:(a) Lamin is a minimum seek distance that uses full motor capability ofthe VCM; (b) Lvmin is a minimum seek distance that reaches a maximumallowed constant velocity for the VCM; (c) for seek distancesLamin<L<Lvmin the sensitivity measurement D(st(L))/D(a) comprises−0.5*st/a; and (d) for seek distances L>=Lvmin the sensitivitymeasurement D(st(L))/D(a) comprises−0.5*(st(Lvmin))/a.
 5. The disk driveas recited in claim 2, wherein the disk controller determines theestimated motor capability by measuring a velocity of the VCM relativeto a current flowing through the VCM.
 6. The disk drive as recited inclaim 3, wherein the nominal estimated seek time is determinedstatistically over a subset of disk drives.
 7. The disk drive as recitedin claim 3, wherein the nominal estimated seek time is measured duringmanufacture of the disk drive.
 8. The disk drive as recited in claim 1,wherein: (a) the estimated seek time comprises an estimated settle time;(b) during the estimated settle time, the disk controller processes theembedded servo sectors to generate a position error signal (PES)representing a position error between the head and the target track; (c)the estimated seek time parameter comprises an estimated trackmis-registration (TMR) value representing a probability that a magnitudeof the PES will exceed a predetermined threshold; and (d) the estimatedsettle time is computed in response to the estimated TMR value.
 9. Thedisk drive as recited in claim 8, wherein the disk controller modifiesthe estimated settle time for each command in the command queueaccording to:est_settle est_settle₀ +k*D(settle(TMR))/D(TMR)*dTMR where: est_settleis the modified estimated settle time; est_settles is a nominalestimated settle time; settle(TMR) is a settle time as a function of theTMR; TMR is the estimated track mis-registration (TMR); TMR₀ is anominal TMR; dTMR is the difference between TMR and TMR₀; and k is adiscounting scalar.
 10. The disk drive as recited in claim 9, whereinthe sensitivity measurement D(settle(TMR))/D(TMR) comprises:k1/(ON_TRACK_LIMIT−TMR) where k1 is a predetermined gain value andON_TRACK_LIMIT is a threshold wherein the settle time ends if the PESremains within the ON_TRACK_LIMIT for a predetermined interval.
 11. Thedisk drive as recited in claim 9, wherein the nominal estimated settletime is determined statistically over a subset of disk drives.
 12. Thedisk drive as recited in claim 9, wherein the nominal estimated settletime is measured during manufacture of the disk drive.
 13. A method ofexecuting a rotational position optimization (RPO) algorithm in a diskdrive for selecting a disk access command from a command queue as thenext command to execute relative to an estimated seek time required toseek a head to a target track of a disk for each command in the commandqueue, wherein a voice coil motor (VCM) actuates the head over the disk,the method comprising the steps of: (a) estimating a seek timeparameter; (b) modifying the estimated seek time for each command in thecommand queue by: computing a seek time delta in response to theestimated seek time parameter; and adding the seek time delta to anominal estimated seek time; and (c) executing the RPO algorithm usingthe modified estimated seek times.
 14. The method as recited in claim13, wherein the estimated seek time parameter comprises an estimatedmotor capability of the VCM.
 15. The method as recited in claim 13,wherein the estimated seek time for each command in the command queue ismodified according to:est_st=est_st₀ +k*D(st(L))/D(a)*da where: est_st is the modifiedestimated seek time; est_st₀ is the nominal estimated seek time; st(L)is a seek time as a function of the seek distance L; a is the estimatedmotor capability; a₀ is a nominal motor capability; da is the differencebetween a and a₀; and k is a discounting scalar.
 16. The method asrecited in claim 15, wherein: (a) Lamin is a minimum seek distance thatuses full motor capability of the VCM; (b) Lvmin is a minimum seekdistance that reaches a maximum allowed constant velocity for the VCM;(c) for seek distances Lamin<L<Lvmin the sensitivity measurementD(st(L))/D(a) is computed as −0.5*st/a; and (d) for seek distancesL>=Lvmin the sensitivity measurement D(st(L))/D(a) is computed as−0.5*(st(Lvmin))/a.
 17. The method as recited in claim 14, wherein thenominal estimated seek time is determined statistically over a subset ofdisk drives.
 18. The method as recited in claim 15, wherein the nominalestimated seek time is measured during manufacture of the disk drive.19. The method as recited in claim 15, wherein the step of estimatingthe motor capability comprises the step of measuring a velocity of theVCM relative to a current flowing through the VCM.
 20. The method asrecited in claim 13, wherein: (a) the estimated seek time comprises anestimated settle time; (b) during the estimated settle time, the diskcontroller processes the embedded servo sectors to generate a positionerror signal (PES) representing a position error between the head andthe target track; (c) the estimated seek time parameter comprises anestimated track mis-registration (TMR) value representing a probabilitythat a magnitude of the PES will exceed a predetermined threshold; and(d) the estimated settle time is computed in response to the estimatedTMR value.
 21. The method as recited in claim 20, wherein the estimatedsettle time for each command in the command queue is modified accordingto:est_settle=est_settle₀ +k*D(settle(TMR))/D(TMR)*dTMR where: est_settleis the modified estimated settle time; est_settle₀ is a nominalestimated settle time; settle(TMR) is a settle time as a function of theTMR; TMR is the estimated track mis-registration (TMR); TMR₀ is anominal TMR; dTMR is the difference between TMR and TMR₀; and k is adiscounting scalar.
 22. The method as recited in claim 21, wherein thesensitivity measurement D(settle(TMR))/D(TMR) comprises:k1/(ON_TRACK_LIMIT−TMR) where k1 is a predetermined gain value andON_TRACK_LIMIT is a threshold wherein the settle time ends if the PESremains within the ON_TRACK_LIMIT for a predetermined interval.
 23. Themethod as recited in claim 21, wherein the nominal estimated settle timeis determined statistically over a subset of disk drives.
 24. The methodas recited in claim 21, wherein the nominal estimated settle time ismeasured during manufacture of the disk drive.